package com.zerdoor.dao;

import java.util.List;
import java.util.Map;

/**
 * 订单报表 持久层
 * Created by zhongjieyu on 2015/1/29.
 */
public interface OrderReportDao {



    /**
     * 查询作品订单明细
     * @param result
     * @return
     * @throws Exception
     */
    List<Map> findOrderWorksReport(Map<String, Object> result) throws Exception;

    /**
     * 查询统计作品订单汇总数据
     * @param result
     * @return
     * @throws Exception
     */
    Map findCountOrderWorks(Map<String, Object> result) throws Exception;


    /**
     * 查询任务订单明细
     * @param result
     * @return
     * @throws Exception
     */
    List<Map> findOrderTaskReport(Map<String, Object> result) throws Exception;


    /**
     * 根据任务订单ID查询增值服务明细
     * @param taskOrderId
     * @return
     * @throws Exception
     */
    List<Map> findOrderItemAvByTaskOrderId(int taskOrderId) throws Exception;
    /**
     * 根据项目订单ID查询阶段费用明细
     * @param itemOrderId
     * @return
     * @throws Exception
     */
    List<Map> findOrderStageByItemOrderId(int itemOrderId) throws Exception;
    /**
     * 根据项目订单ID查询手续费明细
     * @param itemOrderId
     * @return
     * @throws Exception
     */
    List<Map> findOrderFeeByItemOrderId(int itemOrderId) throws Exception;
    /**
     * 根据项目订单ID查询推广费明细
     * @param param
     * @return
     * @throws Exception
     */
    List<Map> findOrderPopurByTaskOrderId(Map param) throws Exception;

    /**
     * 查询竞赛活动订单报表明细
     * @param param
     * @return
     * @throws Exception
     */
    List<Map> findOrderRaceReport(Map param) throws Exception;

    /**
     * 根据竞赛活动ID查询竞赛活动增值服务明细
     * @param raceOrderId
     * @return
     * @throws Exception
     */
    List<Map> findOrderRaceAvByOrderRaceId(int raceOrderId) throws Exception;

    /**
     * 根据竞赛活动ID查询竞赛活动获奖明细
     * @param raceOrderId
     * @return
     * @throws Exception
     */
    List<Map> findOrderWinByOrderRaceId(int raceOrderId) throws Exception;



}
